package cn.iocoder.yudao.module.member.dal.dataobject.order;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;

@TableName("member_order")
@KeySequence("member_order_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberOrderDo extends BaseDO {

    @Schema(description = "id", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "1024")
    private Long id;

    @Schema(description = "userId", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "1024")
    private Long userId;

    @Schema(description = "nickname", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "1024")
    private String nickname;

    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String orderCode;

    /**
     * 0:积分订单 1:设备订单
     */
    @Schema(description = "订单类型", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String orderType;

    /**
     * 积分订单为钱 设备订单可以为积分
     */
    @Schema(description = "支付方式", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String paymentType;

    /**
     * 购买数量
     */
    @Schema(description = "购买数量", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private BigDecimal number;

    /**
     * 购买数量
     */
    @Schema(description = "价格", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private BigDecimal payPrice;

    /**
     * 购买数量
     */
    @Schema(description = "成本价格", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private BigDecimal costPrice;

    /**
     * 订单状态
     */
    @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
    private String status;

    private Long payOrderId;

//    /**
//     * 支付状态
//     */
//    @Schema(description = "支付状态", requiredMode = Schema.RequiredMode.NOT_REQUIRED, example = "OD123")
//    private String payStatus;
}
